home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 30 / Amiga Format AFCD30 (Sep 1998, Issue 114).iso / -seriously_amiga- / sound / promizer20 / docs next >
Text File  |  1998-06-29  |  5KB  |  189 lines

  1.  
  2. --*======================================================================*--
  3.  
  4.         ================
  5.         =  Promizer II =
  6.         ================ v2.0 by mc68000 of MASQUE/T.R.S.I.
  7.  
  8.     copyright notice :
  9.         
  10.     This tool is freeware, that means that you can use it for
  11.     any kind of production, but not sell it !!! Copyright 1993 
  12.     by Frank Hülsmann !!!
  13.  
  14. --*======================================================================*--
  15.  
  16.         Instructions :
  17.     
  18.         What makes the Pomizer ???
  19.     
  20.     Well ... very simple ... it plays protracker (& clones)
  21.     modules    in a fast way - try it out. It handles all 
  22.     effects of this    cool tool (i hope ...) in the right way
  23.     and it handles the finetune option in a total different 
  24.     (but much faster) way then the tracker. It also included 
  25.     a pattern packer, that makes music-ripping much harder
  26.     (i found no ripper, that could ripp promizer v1.x modules) !!!
  27.     
  28. --*======================================================================*--
  29.  
  30.     How to use it ???
  31.     
  32.     I think, that i don't must write any words about the handling.
  33.  
  34. --*======================================================================*--
  35.  
  36.     But how can i replay the songs in own productions ???
  37.  
  38.     Very easy ... the Promizer II tool links the replayer routine
  39.     before the sound data. Just call it on this way :
  40.  
  41.  
  42.         Init a tune :
  43.  
  44.         moveq    #x,d0
  45.         moveq    #y,d1
  46.         jsr    sound_base
  47.     
  48.             x = 0 -> use rasterline dma wait routine
  49.             x = 1 -> use cia-b interupt (much faster)
  50.             y = 0 -> don't fade the tune in
  51.             y = 1 -> fade the tune in
  52.             
  53.             after this you get a pointer on several 
  54.             player buffers/tables in d0 :
  55.  
  56.             offset :    buffer/table :
  57.  
  58.             0        periodtables (16x with finetune)
  59.             1200        chan1temp (same struct like pt)
  60.             1248        chan2temp (same struct like pt)
  61.             1296        chan3temp (same struct like pt)
  62.             1344        chan4temp (same struct like pt)
  63.             1610        counter (.b)
  64.             1394        songposition (.w) (pt pos *2 !!!)
  65.             1611        songspeed (.b)
  66.             1392        patternposition (.w)
  67.             1396        samplestart table (31x longwords)
  68.     
  69.         Replay it (each vertical blank) :
  70.  
  71.         moveq    #mask,d0
  72.         moveq    #x,d1
  73.         jsr    sound_base+4
  74.  
  75.             mask   = what voices should i play ??
  76.  
  77.             mask is a 4-bit unsigned value :
  78.             
  79.             %1111  = play all 4 voices
  80.             %0001  = play only voice 1
  81.              %1010  = play voices 2 & 4
  82.  
  83.             x = 1 -> fade tune out
  84.             x = 0 -> no outfading
  85.  
  86.             !!! Attention : don't use any effect commands
  87.                               in a switched off voice !!!
  88.             
  89.         End tune (after that, don't call the player again !!!) :
  90.  
  91.         jsr    sound_base+8
  92.         
  93.         If you want to wait for the out-fading, then call
  94.  
  95.         jsr    sound_base+12
  96.  
  97. --*======================================================================*--
  98.  
  99. EXAMPLE SOURCECODE (CUT & SAVE IT) - VERY SHORT VERSION :
  100.  
  101.         section    "play_it",code_p
  102.  
  103. ; INIT TUNE
  104.  
  105. start        move.w    $dff01c,d5
  106.         or.w    #$8000,d5
  107.         move.l    $6c.w,d6
  108.  
  109.         move.w    #$7fff,$dff09a
  110.  
  111.         lea    songbase,a0
  112.         moveq    #1,d0            ;use cia
  113.         moveq    #1,d1            ;fade in
  114.         jsr    (a0)            ;init tune
  115.  
  116.         move.l    #newint,$6c.w
  117.         move.w    #$c020,$dff09a
  118.  
  119. ; WAIT LEFT BUTTON
  120.  
  121. .loop        btst    #6,$bfe001
  122.         bne.b    .loop
  123.  
  124.         move.b    #1,fade_flag        ;start fading out
  125.  
  126.         jsr    12(a0)            ;wait for fading
  127.         move.w    #$7fff,$dff09a
  128.         jsr    8(a0)            ;stop playing
  129.  
  130.         move.l    d6,$6c.w
  131.         move.w    d5,$dff09a
  132.         rts
  133.  
  134. ; INTERUPT
  135.  
  136. newint        movem.w    d0-d1,-(a7)
  137.         move.w    #%1111,d0        ;all voices
  138.         move.b    fade_flag(pc),d1
  139.         jsr    songbase+4
  140.         move.w    #$20,$dff09c
  141.         movem.w    (a7)+,d0-d1
  142.         rte
  143.  
  144. fade_flag    dc.b    0
  145.  
  146.         section    'song',data_c
  147. songbase    incbin    'mod.test'
  148.         
  149. --*======================================================================*--
  150.  
  151.     What's new from the last version ???
  152.  
  153.     - completly new replayer and optimizer
  154.     - fader included
  155.     - voice mask included
  156.     - i killed the "multi song" function, because i never used it ...
  157.           if you want to use it, write to me - if there are enough 
  158.       requests, i include it ....
  159.     - no player-stand-alone-module - if you want to play your
  160.       protracker tunes in multitasking, use one of the mt-player
  161.       (like chamälion player, noiseplayer, ...)
  162.  
  163. --*======================================================================*--
  164.  
  165.     Planed updates :
  166.     
  167.     - faster replayer (this player isn't very optimzed ...)
  168.     - new and better packer
  169.     - more extras
  170.  
  171. --*======================================================================*--
  172.  
  173.          contact me for bug reports, or just for fun :
  174.         i don't answer any swapper request !!!!
  175.  
  176.         mc68000/masque/trsi
  177.     
  178.         Frank Hülsmann
  179.         Timmerscheidtstr.14
  180.         4400 Münster          _____________    _____________
  181.         Germany             / ___    ____ \  /   _________/\
  182.                      \/\_//  /\___\ \//  /\___/   /\/
  183.                       \///  /   ____/____    //  / /
  184.                        /.  /\\  \___\___//  /.  / /
  185.                       /___/ /\___\/________/___/ /
  186.                       \___\/  \___\________\___\/           
  187.  
  188. --*======================================================================*--
  189.